Let’s learn by example.
In this tutorial you will render a parametric DXF file using the :class:`qsketchmetric.renderer.Renderer` module.
We’ll assume you have :ref:`QSketchMetric installed <installation-section>` already.
First download the tutorial.dxf file from the QSketchMetric repository. It is an example of a parametric DXF file that we will use in a tutorial.
To do so, open it and click Ctrl+S
to save it to your computer.
As a convention, we’ll assume you saved it in a file called tutorial.dxf
.
Now, create a new file called render.py
and place it in the same directory as tutorial.dxf
.
Open render.py
in your favorite text editor and import the :class:`qsketchmetric.renderer.Renderer` module
as well as the :func:`ezdxf.new` function:
from qsketchmetric.renderer import Renderer from ezdxf import new from ezdxf import units
The first one will be used to render the parametric DXF file, the second one to create output :class:`ezdxf.document.Drawing` and the third one to set the units of the output drawing.
Create an output :class:`ezdxf.document.Drawing` object using :func:`ezdxf.filemanagement.new` module. Remember to set the units of the output drawing to millimeters as the parametric DXF file defaults to meters.:
output_dxf = new() output_dxf.units = units.MM
Before we will render tutorial.dxf
let's check it out in the QCAD Professional
CAD software to see briefly what it looks like (File -> Open). This is what you should see:
Note
To see how to parametrize a drawing, see :ref:`parametrization-section`.
We can see it is a parametric drawing of a chalice. To render, it needs variable h
that stands for height of the
chalice. Let's set it to 50
:
input_variables = {'h': 50}
Now we are ready to roll. Let's render the parametric DXF file:
renderer = Renderer('tutorial.dxf', output_dxf, input_variables) renderer.render()
Finally, save the output drawing:
output_dxf.saveas('rendered_tutorial.dxf')
The whole code should look like this:
from qsketchmetric.renderer import Renderer from ezdxf import new output_dxf = new() input_variables = {'h': 50} renderer = Renderer('tutorial.dxf', output_dxf, input_variables) renderer.render() output_dxf.saveas('rendered_tutorial.dxf')
Now run the code:
python render.py
Finally open rendered_tutorial.dxf
in QCAD Professional
. This is what you should see:
As you can see, the parametric DXF file was rendered successfully and the chalice height is 50
.
Congratulation you renderer your first parametric DXF file!